package iface

// Environment 定义一个获取配置的环境对象
type Environment interface {

	// 不允许外部自动实现该接口，必须内嵌该接口才能实现它
	gspringEnvironment()

	// GetActiveProfiles 获取当前激活的配置文件名称简介
	// for example: application-dev.yaml 中的 dev
	GetActiveProfiles() []string

	// ContainsKey 判断key是否存在
	ContainsKey(key string) bool

	// Get 根据key获取接口类型的配置值
	Get(key string) any

	// GetString 根据key获取string类型的配置值
	GetString(key string) string

	// GetInt 根据key获取int类型的配置值
	GetInt(key string) int

	// GetInt64 根据key获取int64类型的配置值
	GetInt64(key string) int64

	// GetFloat64 根据key获取float64类型的配置值
	GetFloat64(key string) float64

	// GetBool 根据key获取bool类型的配置值
	GetBool(key string) bool
}
